Метод Нютона для розв’язування систем нелінійних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ, МОЛОДІ ТА СПОРТУ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІ З В І Т до лабораторної роботи №5 з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем» на тему: «Метод Нютона для розв’язування систем нелінійних рівнянь» Варіант № 9 Львів – 2012р. Мета роботи – ознайомлення з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь методом – Нютона. Завдання Розв’яжіть систему нелінійних рівнянь одним із методів, вказаних викладачем, вибираючи за початкові наближення . Ітерації проводити до збігу двох послідовних наближень з похибкою . 9)   Блок-схема алгоритму програми / Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення a,с – двовимірні масиви із елементами типу double; x – одновимірний масив із значеннями коренів системи рівнянь; i, j,L,n,K,m – змінні типу int з рівнем доступу public, що використовуються в коді програми; Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace НелінійніРняМетодНютонаЯкобі2рня { class Program { static void Main(string[] args) { ob b = new ob(); b.obrahunk(); Console.ReadLine(); } } class ob { public double a, b, c, d,abcd,max=0; public Int16 i, j; public double[] x,fx,x_; public double[,] a1; public void vyvedehha_x() { for (i = 0; i < 2; i++) { Console.Write("X{0}={1}\n", i + 1, x[i]); } } public void vyvedehha_fx() { for (i = 0; i < 2; i++) { Console.Write("FX{0}={1}", i + 1, fx[i]); } } public void vyvedenna_a1() { for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) Console.WriteLine("a[{0},{1}]={2}", i, j, a1[i, j]); } } public void obrahunk() { x_=new double[2]; x = new double[2]; fx = new double[2]; a1 = new double[2, 2]; for (i = 0; i <2; i++) { Console.Write("X{0}=", i + 1); x[i] = Convert.ToDouble(Console.ReadLine()); } do { a = 1 - 2 * x[0]; b = 2 * x[1]; c = -2 * x[1]; d = 1 - 2 * x[0]; abcd = 1 / (a * d - b * c); a1[0, 0] = a * abcd; a1[0, 1] = -b * abcd; a1[1, 0] = -c * abcd; a1[1, 1] = d * abcd; fx[0] = x[0] - x[0] * x[0] + x[1] * x[1] - 0.1; fx[1] = x[1] - 2 * x[0] * x[1] - 0.1; for (i = 0; i < 2; i++) { x_[i] = x[i]; } for (i = 0; i < 2; i++) { x[i] = x_[i] - (a1[i, 0] * fx[0] + a1[i, 1] * fx[1]); } max = 0; for (i = 0; i < 2; i++) { if (max < Math.Abs((x[i] - x_[i]) / x_[i])) max = Math.Abs((x[i] - x_[i]) / x_[i]); } vyvedehha_x(); //vyvedenna_a1(); } while (max >= 0.001); Console.WriteLine("fx1={0},fx2={1}", fx[0], fx[1]); } } } Результати роботи програми /
Антиботан аватар за замовчуванням

31.05.2014 14:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини